perm filename 11INFO[M11,LCS]1 blob sn#409378 filedate 1979-01-13 generic text, type T, neo UTF8
00010	C***  MUSIC-11  **** MUSIC5-BASED SOUND GENERATION PROGRAM FOR PDP11 ***
00100	C***** STANFORD-IRCAM MUSIC FORMAT TO MUSIC-5 FORMAT TRANSLATOR ******
00200	C           LELAND SMITH, IRCAM, PARIS, JUNE 1977, STANFORD, JAN '79
00400	C
00500	C  THIS PROGRAM CONVERTS STANFORD MUSIC FORMAT TO MUSIC-5 FORMAT, 
00600	C  ALLOWING 'NOT CARDS' TO CONTAIN THE LETTER NAMES OF NOTES, (C,D,E,F,
00700	C  G,A,B; S=SHARP,F=FLAT), PARAMETER NUMBERS DESIGNATED AS P1, P2,
00800	C  P3, ETC., FUNCTION NAMES AS F1, F2, ETC., AND ARITHMETIC EXPRESSIONS.
00900	C
01300	C
01400	C  ARITHMETIC EXPRESSIONS MAY CONTAIN THE OPERATORS   +   -   *   /  AND
01450	C  ** (X**Y = X TO THE POWER OF Y).
01500	C  SPACES BEFORE OR AFTER THESE OPERATORS ARE IGNORED!  HENCE IN ORDER TO
01600	C  PUT A NEGATIVE NUMBER INTO A PARAMETER THE MINUS SIGN MUST BE PRECEDED
01700	C  BY A COMMA.   100  - 440   WILL PRODUCE THE SINGLE VALUE -340, WHEREAS
01800	C  100,  - 440  PRODUCES TWO SEPARATE VALUES.   A PARAMETER MAY BE SETUP BY
01900	C  REFERRING TO OTHER PARAMETERS.   IF P3=440 AND P5=2 THEN THE EXPRESSION
02000	C  P3 * 2**(1/24) /P5  WILL PUT THE VALUE 452.89 INTO A PARAMETER FIELD.
02100	C  ALL OPERATIONS ARE DONE IN LEFT-TO-RIGHT ORDER (UNLIKE FORTRAN OR ALGOL
02200	C  WHICH ALWAYS DO DIVIDES AND MULTIPLIES FIRST.)  THUS A STATEMENT AS
02300	C  5+7/2 WILL GIVE THE ANSWER 6.  HOWEVER PARENTHESES MAY BE USED.  5+(7/2)
02400	C  GIVES THE ANSWER 8.5 .   PARENTHESES MAY NOT BE 'NESTED'.
02500	C
02600	C INSTRUMENT DEFINITIONS AND GEN FUNCTION INPUT ARE SIMILAR TO THE
02700	C  TRADITIONAL MUSIC5 FORMAT AS DESCRIBED IN THE BOOK BY MATHEWS, ET AL.
02800	C  (HOWEVER THIS PROGRAM AUTOMATICALLY ADDS 2 INTERNALLY TO ALL PARAMETER
02900	C  NUMBERS GIVEN WITHIN INSTRUMENTS.  FROM THE USER'S POINT OF VIEW THIS
03000	C  IS NOT IMPORTANT.)  THE HIGHEST PARAMETER NUMBER AVAILABLE IN INSTRUMENT
03100	C  DEFINITIONS IS P30.
03400	C
03500	C  THE UNIT GENERATORS AVAILABLE ARE 'OUT','OSC','AD2','RAN','ENV','STR',
03600	C  'AD3','AD4','MLT','DIV','RAH','END','REV','OPT','NOS','SUB','INP',
03650	C  'COS'.   IN ADDITION 'SRT'  IS
03700	C  USED TO SET THE SAMPLING RATE. HOWEVER THIS VARIABLE MUST BE SET USING 
03800	C  THE LEFT ARROW, IN THE STANFORD FORMAT.  (E.G.  SRT←12800;)  THIS ALSO 
03900	C  CAN BE SET IN THE NORMAL STANFORD MUSIC FORMAT. (SRATE←25600;)  THE
04000	C  NUMBER OF CHANNELS MUST BE SET IN THE STANFORD MANNER, NCHNS←1; OR
04100	C  NCHNS←2;.
05200	C
07100	C
07200	C  'FP' AND 'DP' ARE USED TO DESIGNATE CERTAIN PARAMETERS FOR CONVERSION
07300	C  TO INCREMENT NUMBERS WHICH WILL BECOME FREQUENCY OR DURATION INPUTS TO
07400	C  OSCILATORS, ETC.
08200	C
08300	C  ASIDE FROM THE INSTRUMENT AND GEN DEFINITIONS THIS PROGRAM WILL OPERATE
08400	C  IN AN INTERACTIVE MODE MUCH AS THE STANFORD-IRCAM MUSIC PROGRAM, AS
08500	C  DESCRIBED IN USEMUS.DOC[DOC,LCS].
08600	C
08700	C  THE MAJOR DIFFERENCES ARE AS FOLLOWS:
08800	C        AS EACH 'MUSIC' STATEMENT IS TRANSLATED THE MUSIC-5 FORMAT IS
08900	C        NORMALLY TYPED OUT.  THIS TYPEOUT MAY BE SUPPRESSED BY TYPING
09000	C        THE SYMBOL '&'.  RETYPING THIS SYMBOL WILL CAUSE THE TYPEOUT
09100	C        TO BEGIN AGAIN.
09200	C
09300	C        AFTER YOU ARE IN 'TTY MODE' ( > ) YOU MAY RETURN TO 'INPUT?'
09400	C        BY JUST TYPING <CR>.
09500	C
09600	C	 IF THE SYMBOL '%' IS TYPED, A BINARY FILE OF ALL MUSIC5 FORMAT
09700	C        INFORMATION WILL BE WRITTEN UNDER THE NAME 'FOR21.DAT'.   THIS
09800	C        FILE SHOULD BE READABLE BY PASS3 OF THE BASIC MUSIC5 PROGRAM.
09900	C
10000	C        THE VARIABLE 'MAG' OF THE STANFORD MUSIC PROGRAM IS COMPUTED
10100	C        AUTOMATICALLY WHEN EVER THE STATEMENTS  SRATE←N;  SRT N; OR
10200	C        SAM N; APPEAR.  THE NUMBER OF CHANNELS IS INITIALIZED AT 1.
10300	C        THIS CAN BE CHANGED WITH NCHNS←N; OR CHA N;.  N CAN ONLY BE
10400	C        A ONE OR A TWO.
10500	C       
10600	C        THE 'PRINT' STATEMENT WILL ONLY RECOGNIZE STANFORD NAMES, SUCH
10700	C        AS 'NCHNS' AND 'SRATE'.   PRINT CHA;  WILL NOT WORK.
10800	C
10900	C        TO SEE THE LIST OF INSTRUMENTS CURRENTLY IN THE PROGRAM GO TO
11000	C        TTY MODE ( > ) AND TYPE <ALT>I <RETURN>.
11100	C
11200	C
11300	C*    ALL ROUTINES IN THIS PROGRAM ARE IN FORTRAN.
11400	C
11500	C*    LOAD THIS VERSION WITH TR.F4 AND TR3.F4.   IT WRITES A BINARY FILE 
11600	C*    CALLED 'FOR21.DAT'.  THIS FILE IS THEN READ BY MUS511 (PASS3 OF MUSIC5.)
11700